<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <title></title>
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
  <script type="text/javascript" src="../internal.js"></script>
  <style type="text/css">
    .wrapper {
      width: 600px;
      padding: 10px;
      height: 352px;
      overflow: hidden;
      position: relative;
      border-bottom: 1px solid #d7d7d7
    }

    .localPath input {
      float: left;
      width: 350px;
      line-height: 20px;
      height: 20px;
    }

    #clipboard {
      float: left;
      width: 70px;
      height: 30px;
    }

    .description {
      color: #0066cc;
      margin-top: 2px;
      width: 450px;
      height: 45px;
      float: left;
      line-height: 22px
    }

    #upload {
      width: 100px;
      height: 30px;
      float: right;
      margin: 10px 2px 0 0;
      cursor: pointer;
    }

    #msg {
      width: 140px;
      height: 30px;
      line-height: 25px;
      float: left;
      color: red
    }
  </style>
</head>
<body>
<div class="wrapper">
  <div class="localPath">
    <input id="localPath" type="text" readonly/>
    <div id="clipboard"></div>
    <div id="msg"></div>
  </div>
  <div id="flashContainer"></div>
  <div>
    <div id="upload" style="display: none"><img id="uploadBtn"></div>
    <div class="description">
      <span style="color: red"><var id="lang_resave"></var>: </span><var id="lang_step"></var>
    </div>
  </div>
</div>
<script type="text/javascript" src="tangram.js"></script>
<script type="text/javascript" src="wordimage.js"></script>
<script type="text/javascript">
  editor.setOpt({
    wordImageFieldName: "upfile",
    compressSide: 0,
    maxImageSideLength: 900
  });

  //全局变量
  var imageUrls = [],          //用于保存从服务器返回的图片信息数组
    selectedImageCount = 0,  //当前已选择的但未上传的图片数量
    optImageUrl = editor.getActionUrl(editor.getOpt('imageActionName')),
    optImageFieldName = editor.getOpt('imageFieldName'),
    optImageCompressBorder = editor.getOpt('imageCompressEnable') ? editor.getOpt('imageCompressBorder') : null,
    maxSize = editor.getOpt('imageMaxSize') / 1024,
    extension = editor.getOpt('imageAllowFiles').join(';').replace(/\./g, '*.');

  /* 添加额外的GET参数 */
  var params = utils.serializeParam(editor.queryCommandValue('serverparam')) || '',
    urlWidthParams = optImageUrl + (optImageUrl.indexOf('?') == -1 ? '?' : '&') + params;

  utils.domReady(function () {
    //创建Flash相关的参数集合
    var flashOptions = {
      container: "flashContainer",                                                    //flash容器id
      url: urlWidthParams,                                           // 上传处理页面的url地址
      ext: editor.queryCommandValue('serverParam') || {},                                 //可向服务器提交的自定义参数列表
      fileType: '{"description":"' + lang.fileType + '", "extension":"' + extension + '"}',     //上传文件格式限制
      flashUrl: 'imageUploader.swf',                                                  //上传用的flash组件地址
      width: 600,          //flash的宽度
      height: 272,         //flash的高度
      gridWidth: 120,     // 每一个预览图片所占的宽度
      gridHeight: 120,    // 每一个预览图片所占的高度
      picWidth: 100,      // 单张预览图片的宽度
      picHeight: 100,     // 单张预览图片的高度
      uploadDataFieldName: optImageFieldName,    // POST请求中图片数据的key
      picDescFieldName: 'pictitle',      // POST请求中图片描述的key
      maxSize: maxSize,                         // 文件的最大体积,单位M
      compressSize: 1,                   // 上传前如果图片体积超过该值，会先压缩,单位M
      maxNum: 32,                         // 单次最大可上传多少个文件
      compressSide: 0,                 //等比压缩的基准，0为按照最长边，1为按照宽度，2为按照高度
      compressLength: optImageCompressBorder        //能接受的最大边长，超过该值Flash会自动等比压缩
    };
    //回调函数集合，支持传递函数名的字符串、函数句柄以及函数本身三种类型
    var callbacks = {
      selectFileCallback: function (selectFiles) {                // 选择文件的回调
        selectedImageCount += selectFiles.length;
        if (selectedImageCount) baidu.g("upload").style.display = "";
        dialog.buttons[0].setDisabled(true); //初始化时置灰确定按钮
      },
      deleteFileCallback: function (delFiles) {                 // 删除文件的回调
        selectedImageCount -= delFiles.length;
        if (!selectedImageCount) {
          baidu.g("upload").style.display = "none";
          dialog.buttons[0].setDisabled(false);         //没有选择图片时重新点亮按钮
        }
      },
      uploadCompleteCallback: function (data) {               // 单个文件上传完成的回调
        try {
          var info = eval("(" + data.info + ")");
          info && imageUrls.push(info);
          selectedImageCount--;
        } catch (e) {
        }
      },
      uploadErrorCallback: function (data) {         // 单个文件上传失败的回调,
        console && console.log(data);
      },
      allCompleteCallback: function () {              // 全部上传完成时的回调
        dialog.buttons[0].setDisabled(false);    //上传完毕后点亮按钮
      }
      //exceedFileCallback: 'exceedFileCallback',   // 文件超出限制的最大体积时的回调
      //startUploadCallback: startUploadCallback    // 开始上传某个文件时的回调
    };
    wordImage.init(flashOptions, callbacks);
  });

</script>

</body>
</html>
